package leetcode100;

import java.util.Scanner;

/**
 * @author shkstart
 * 有一种兔子，从出生后第3个月起每个月都生一只兔子，小兔子长到第三个月后每个月又生一只兔子。
 * 例子：假设一只兔子第3个月出生，那么它第5个月开始会每个月生一只兔子。
 * 一月的时候有一只兔子，假如兔子都不死，问第n个月的兔子总数为多少？
 * 数据范围：输入满足 1 \le n \le 31 \1≤n≤31
 * @create 2022-12-20-23:19
 */
public class Meme18_1 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            /*
            斐波那契数列 f(n) = f(n-1) + f(n-2)
            当前月的兔子 = 上个月的成熟兔子每个兔子生一个 + 前两个月的兔子这个月成熟生了一只
            而上个月成熟的兔子不需要具体数字，只需要用f(n-1)来表示，同理
             */
            int a = in.nextInt();
            int first =1;
            int second =1;
            int count = 0;
            for(int i =2;i<a;i++){
                count = first+second;
                first =second;
                second =count;
            }
            System.out.println(count);
        }

    }
}
